home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Graphics Plus
/
Graphics Plus.iso
/
msdos
/
raytrace
/
pov
/
gen
/
lparser3
/
lparser3.rea
< prev
next >
Wrap
Text File
|
1994-10-03
|
7KB
|
157 lines
Short: L-Systems parser/viewer package V3.0
Type: gen/pc
Author: Laurens J Lapre
Uploader:
┌─────────┬────────────────────────────────┬───────────────────────────────┐
│ Name: │ LPARSER │ (C) RenderStar Technology BV. │
├─────────┼────────────────────────────────┼──────────┬───────┬────────────┤
│ Author: │ Laurens J. Lapre │ Version: │ 3.0 │ 1994-01-31 │
├─────────┴────────────────────────────────┴──────────┴───────┴────────────┤
│ RenderStar Technology BV, Keizersgracht 448 │
│ 1016 GD Amsterdam, the Netherlands │
│ Fax (+31) 20 622 4939 │
├─────────┬─────────────────────┬───────────────────┬──────────────────────┤
│ Email: │ 2:283/203.8 fidonet │ 'Lj Lapre' PCGnet │ ljlapre@hacktic.nl │
└─────────┴─────────────────────┴───────────────────┴──────────────────────┘
First a quick look ...
────────────────────────────────────────────────────────────────────────────
Do 'go lsys00' and use the cursorkeys to move the form around. You can use
the go batch file with any of the .ls files. Press ESC to get back to dos.
About L-systems ...
────────────────────────────────────────────────────────────────────────────
An l-system is a rule like description of a 3d form. It contains
descriptions of parts and how they should be assembeld together. The program
reads a l-system description in and processes it into a 3d form which can
then be outputed in several formats, including DXF and POV.
The description is applied to itself a number of times (= recursion levels)
so fractal and recursive forms are very easy to describe in an l-system.
That's why they are used a lot for plants and natural looking organic forms.
By increasing the recursion level the form slowly 'grows' and becomes more
complex.
This implementation of a l-system parser also allows 'mutations' to take
place during the growing of the form. These mutations can change the form
slightly or quite dramaticly. This allows you to create a form once and then
create a whole series of forms all clearly 'descendant' from the original
l-system.
Too help people get started a lot of example l-systems have been included.
Where is what ...
────────────────────────────────────────────────────────────────────────────
The file LPARSER.TXT documents the options of the lparser which generates and
mutates the form.
The file LVIEWER.TXT explains the keys you can use in the lviewer, which
allows you to see the form, and the other file formats it can readin.
The file LV2POVID.TXT contains explainations how to get a form with a
selected viewport into a scene file for a raytracer (POV, VIVID, BOB)
For those who lparsed before, changes and additions in v3.0 ...
────────────────────────────────────────────────────────────────────────────
Speedup of the lparser. Forms which used to take up to an half hour to
generate are now parsed in couple of seconds ! This makes much larger and
complexer l-systems posible and workable. Much higher recursions levels are
now also attainable. A number of extra, much larger and lifelike, tree
sample files based on ABOP have been worked out and included.
Values can have some randomness automaticly added to them. Using ~(xx)
will now add a random direction component to the current orientation with
maximum of xx in all three directions. This way you can mark at which
locations in your l-system 'jitter' needs to be introduced. Using this option
no two 'instances' of the same l-system will look the same.
With the the new -i option you can use a connected 8 sided cylinder as a base
shape. It will connect the bottom part of the cylinder to a previous top and
can connect branches to the stem, creating a continous tube like element.
This is meant to be used with polygonal plant and tree forms.
The new -s option allows you to set the maximum size of the production string
in Kbytes. This string has to be stored twice and is the main data
structure. For a 4meg system the maximum will be about 1500 K. The default
value is 1024 Kbytes (= 1 meg). This is to allow much larger strings to be
processed on larger memory systems.
The nested polygons concept from ABOP chapter 5 (page 127) has been added.
This allows you to create complex 'shell' like forms consisting of faces. See
bop10.ls and shell*.ls for examples.
The new -f option in the lviewer allows you to startup with the main view
directly. The side views will be skipped.
The new [Q] key in the lviewer allows you to cycle the main view through all
possible viewer setups.
Automatic POV/VIVID/BOB output with LV2POVID in six easy steps.
────────────────────────────────────────────────────────────────────────────
From the lv2povid.doc.
1) First start the Lparser program with a .ls file of your choice, be sure
to use a small one. (fi TROPISM.LS) To do this, execute:
lparser tropism
2) The program creates a 'output.vol' file for you, we will use it later.
Now we need to get a POVRAY compatible output of the Lparser for the same .ls
file, so try one of the following lines :
lparser -v tropism
lparser -bc tropism
lparser -Bc tropism
3) 'Feed' the output.vol to the Lviewer program by typing:
lviewer output
4) After the Lviewer has completed its startup screen, press [F1]. Now
rotate, translate, zoom etc. the picture as desired, and if you have found a
nice view, press [F1] again, and leaf the Lviewer (ESC). (remember to press
at the start of the lviewer AND after you've found your viewport)
5) The output.pov or output?.inc or output.inc file(s) and the info.txt
file should be in the same directory as the Lv2povid.exe program. Type
lv2povid 2
and press [Enter]. Lv2povid will create a POVRAY v2.0 compatible scene file
for you, called 'Lpar2pov.pov'. Rename it as desired.
6) Now 'feed' it to POVRAY v2.0, than try an other one and more and more
and..
Lparser images on Internet FTP site
────────────────────────────────────────────────────────────────────────────
Host wuarchive.wustl.edu
Location: /graphics/graphics/ray/pov-dkb-archive/incoming/ljlapre
FILE -rw-r--r-- 733 Dec 19 08:45 lp1.txt
FILE -rw-r--r-- 1145684 Dec 19 08:45 lp1.zip
FILE -rw-r--r-- 1579 Dec 19 08:46 readme.txt
FILE -rw-r--r-- 358852 Dec 19 06:50 lsys__38.gif
FILE -rw-r--r-- 65402 Dec 19 06:51 lsys__43.gif
FILE -rw-r--r-- 121766 Dec 19 06:52 lsys__55.gif
FILE -rw-r--r-- 242348 Dec 19 06:55 lsys__58.gif
FILE -rw-r--r-- 190143 Dec 19 06:57 lsys__60.gif
FILE -rw-r--r-- 83608 Dec 19 06:58 lsys__64.gif
FILE -rw-r--r-- 126423 Dec 19 07:00 lsys__67.gif
FILE -rw-r--r-- 249785 Dec 19 07:02 lsys__69.gif
FILE -rw-r--r-- 176486 Dec 19 07:06 lsys__70.gif
FILE -rw-r--r-- 363202 Dec 19 07:10 lsys__72.gif
FILE -rw-r--r-- 53064 Dec 19 07:12 lsys__73.gif
FILE -rw-r--r-- 171792 Dec 19 07:46 lsys__74.gif
FILE -rw-r--r-- 470543 Dec 19 07:51 lsys__75.gif
FILE -rw-r--r-- 156342 Dec 19 08:48 tree__01.gif
FILE -rw-r--r-- 228886 Dec 19 08:52 tree__07.gif